home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Magnum One
/
Magnum One (Mid-American Digital) (Disc Manufacturing).iso
/
d1
/
dosres.arc
/
DOSRES.TXT
next >
Wrap
Text File
|
1988-11-29
|
8KB
|
198 lines
RESIDENT COMMAND INTERPRETER
BY
JOHN CHAPMAN
844 S. MADISON ST.
HINSDALE, ILLINOIS 60521
COMPUSERV ID 70205,1217
DISCLAIMER
THIS MODIFICATION IS PROVIDED WITHOUT WARRANTY OF ANY KIND. THE
AUTHOR ASSUMES NO LIABILITY FOR FAILURE OF THIS CODE TO PERFORM
IN ANY ENVIRONMENT. THE USER IS COMPLETELY RESPONSIBLE FOR
DETERMINING THE APPLICABILITY OF THIS MODIFICATION TO A
PARTICULAR ENVIRONMENT.
LIMITATIONS
THIS MODIFICATION CAUSES THE TRANSIENT PORTION OF COMMAND.COM TO
BE MADE RESIDENT AT SYSTEM IPL. RE-BOOTING THE SYSTEM WITH AN
UNMODIFIED COMMAND.COM IS THE ONLY WAY TO REMOVE THIS
MODIFICATION.
THIS MODIFICATION ALTERS THE STARTING SEGMENT [PARAGRAPH] ADDRESS
AVAILABLE TO PROGRAMS, LOWERING THE AMOUNT OF STORAGE AVAILABLE
BY 4288 BYTES [FOR PC/DOS 1.1 WITH A NORMAL LOAD SEGMENT ADDRESS
OF 02C1. THE STARTING SEGMENT OF COMMAND.COM CAN BE FOUND AT
LOCATION 0000:9E, AND SHOULD DISPLAY [DEBUG] AS
0000:009E 2C 01
PAGE 1
THIS SET OF TWO DEBUG SCRIPTS WILL ALTER THE IBM PERSONAL
COMPUTER DOS COMMAND INTERPRETER (COMMAND.COM) TO REMAIN ENTIRELY
RESIDENT, RATHER THAN BE HALF RESIDENT AND HALF TRANSIENT. THE
WHOLE PURPOSE OF THIS MODIFICATION IS TO SUPPRESS 99% OF THE
OCCURRANCES OF THE REFRESH OF THE TRANSIENT PORTION. THIS WILL
REMOVE THE REQUIREMENT TO ALWAYS HAVE A DISK WITH A VALID
COMMAND.COM IN DRIVE A. THIS CHANGE HAS BEEN ESPECIALLY USEFUL
WITH MULTIPLE DISKCOPY TYPE ACTIVITIES, AND WITH THOSE
APPLICATION PACKAGES WHICH USE ALL OF MEMORY, INCLUDING THE TOP
4880 BYTES WHERE THE TRANSIENT COMMAND.COM RESIDES.
**NOTE**
WE HAVE EXPERIENCED A LIMITED NUMBER OF CASES WHERE THE
REFRESHABLE, OR TRANSIENT PORTION OF COMMAND.COM, WHICH NOW
RESIDES IN LOW MEMORY, HAS BEEN DAMAGED. THIS DAMAGE CAUSES THE
CHECKSUM CODE TO REFRESH THE TRANSIENT PORTION FROM DISK. IF YOU
EXPERIENCE REPEATED OCCURANCES OF THIS, SEE PART TWO OF THIS
MODIFICATION.
PAGE 2
PART ONE
BEGIN INSTALLATION BY COPYING THE "MODEL" PC/DOS DISKETTE YOU
WISH TO MODIFY ONTO A FRESH DISKETTE USING DISKCOPY. IF YOU ARE
PRODUCING A SYSTEM DISKETTE THAT WILL NOT HAVE A COPY OF THE
DEBUG COMMAND ON IT, YOU MUST HAVE A DISKETTE WITH DEBUG
AVAILABLE.
PART ONE: DEBUG SCRIPT
DEBUG COMMAND.COM <CR>
-D,44D,450 <CR>
XXXX:44D 04 01 00
XXXX:450 00
-D,3ED,3EE <CR>
XXXX:3ED 01 00
-D,0460,0479 <CR>
XXXX:0460 46 00 A3 03 01 A1 02 00-8C 1E 05 01 A3 52 04 2D
-D,10D3,10D7
XXXX:10D3 8C C8 05 C0 00
**VERIFY THE ABOVE DISPLAYED BYTES. THE CONTENTS OF THIS DISPLAY
MUST MATCH EXACTLY. IF ANY DISCREPANCIES ARE DETECTED, DO NOT
INSTALL ANY OF THE PATCH WHICH FOLLOWS.
-E,3ED,00 <CR>
-E,44F,54,00 <CR>
-E,103,61,01 <CR>
-E,45F,01,06,4F,04,01,06,03,01 <CR>
-E,467,8C,1E,05,01,A1,02,00 <CR>
-E,46E,A3,52,04,90,90,90,90,90 <CR>
-E,479,90,90,90 <CR>
-E,658,A1,02,00,2B,06,9F,0F <CR>
-E,65F,BA,10,00,F7,E2,90,71,03 <CR>
-E,10D3,A1,02,00,2D,02,00 <CR>
**THE ABOVE ENTERS THE FIRST SECTION OF THE PATCH.
PAGE 3
PART ONE (CONTINUED)
NEXT, WE WILL DISPLAY THE MODIFIED CODE, TO VERIFY THAT THE PATCH
WAS CORRECTLY INSTALLED:
-U,045D,047B <CR>
MOV AX,CS
ADD [044F],AX
ADD [0103],AX
MOV [0105],DS
MOV AX,[0002]
MOV [0452],AX
NOP
NOP
NOP
NOP
NOP
CALL 0294
NOP
NOP
NOP
-U,0656,0665 <CR>
INT 21
MOV AX,[0002]
SUB AX,[0F9F]
MOV DX,0010
MUL AX,DX
NOP
JNO 066A
BE SURE THAT THE ABOVE MATCHES THE
DISPLAY PRODUCED BY "UNASSEMBLE" ON YOUR MACHINE.
-W <CR>
WRITING 135F BYTES
-Q <CR>
A> ***WHEN THE "A" PROMPT APPEARS YOU ARE READY TO REBOOT***
YOU SHOULD USE THIS MODIFICATION WITH ONLY THIS PORTION INSTALLED
UNLESS YOU ENCOUNTER ANY OF THE PROBLEMS DESCRIBED IN THE SECOND
SECTION.
PLEASE DO NOT INSTALL PART TWO OF THIS MODIFICATION UNLESS YOU
EXPERIENCE A PROBLEM USING PART ONE BY ITSELF.
PAGE 4
PART TWO: REFRESH SUPPRESSION
WE HAVE EXPERIENCED A LIMITED NUMBER OF CASES WHERE THE 'REFRESH'
OF THE TRANSIENT PORTION OF COMMAND.COM, WHICH NOW RESIDES IN LOW
MEMORY, HAS BEEN DAMAGED. THIS DAMAGE CAUSES THE CHECKSUM CODE
TO REFRESH THE TRANSIENT PORTION FROM DISK.
THE CHANGES PROVIDED IN PART TWO ALLOW SPECIFIC PROTECTION
AGAINST THE DAMAGE POSSIBLE IN AN ENVIRONMENT WHERE A PROGRAM[S]
HAS BEEN WRITTEN WITH SPECIFIC ARCHITECTURE DEPENDENCIES.
IF, AND ONLY IF, YOU RECEIVE THE "INSERT DOS DISK IN DRIVE A AND
STRIKE ANY KEY WHEN READY" MESSAGE, OR SEE THAT AN UNSOLICITED
I/O
HAS OCCURRED ON THE DEFAULT DRIVE DURING PROGRAM EXECUTION..
AND ONE OF THESE OCCURANCES IS FOLLOWED BY A SYSTEM "HANG"
IF IT BECOMES NECESSARY TO APPLY PART TWO, PLEASE DOCUMENT TO THE
AUTHOR THE CIRCUMSTANCES THAT CAUSED THE HANG, INCLUDING, IF
POSSIBLE, THE [SOURCE] PROGRAM THAT WAS EXECUTING. IF THE
SOFTWARE YOU WERE USING IS PROPRIETARY, PLEASE INDICATE:
A) THE PACKAGE NAME, VENDOR, ETC.
B) THE MEMORY SIZE ON YOUR MACHINE, AND
C) THE LANGUAGE USED TO PRODUCE THE PROGRAM WHICH CAUSED THE
MODIFIED COMMAND INTERPRETER TO "HANG".
**PLEASE REPORT BUGS** TO THE ADDRESS/ID SHOWN ON THE FIRST
PAGE.
PAGE 5
PART TWO: DEBUG SCRIPT
DEBUG COMMAND.COM <CR>
-D,111B,111E <CR>
XXXX:111B 3B D1 77 51
-D,1134,1137 <CR>
XXXX:1136 3B D1 77 38
AS BEFORE, BE SURE THAT THE DISPLAYS ABOVE MATCH YOUR SYSTEM, AND
DO NOT ENTER THE PATCH BELOW UNLESS EACH BYTE VERIFIES.
-E,023A,90,90 <CR>
-E,0242,90,90 <CR>
-E,0246,90,90 <CR>
-E,111D,90,90 <CR>
-E,1136,90,90 <CR>
-W <CR>
WRITING 135F BYTES
-Q <CR>
A> *** REBOOT AT THIS POINT ***
1136,90,90 <CR>
-W <CR>
WRITING 135F BYTES
-Q <CR>